import { _decorator, Component, Label, Node } from 'cc';
import { Util } from '../../main/lib/Util';
import { Main } from '../Main';
const { ccclass, property } = _decorator;

@ccclass('Rules')
export class Rules extends Component {
    @property(Node)
    LeftBtn: Node = null;
    @property(Label)
    Centent: Label = null;
    public LabelText: { [key: string]: string } = {
        '经典': `     斗地主是一种三人游戏，对局开始时通过叫抢地主决定阵营，阵营双方对战，先出完牌的一方获胜。\n地主拥有首出权，玩家按逆时针方向跟牌每位玩家可以选择用更大的牌组跟牌或不跟牌。合法牌型\n王炸>炸弹>其他牌型 \n单牌 2    对牌 AA    三张 888\n三代 888+3 或 888+AA\n顺子 KQJ109 五张(或以上)点数相连的牌\n连对 554433 三对(或以上)的连续对牌\n飞机 555444 两个(或以上)的连续三张\n三代 888+3 或 888+AA`,
        '不洗牌': `     不洗牌玩法的牌型规则与经典玩法相同，但发牌方式不同。\n在不洗牌玩法中，玩家打完一局后，所有的牌将不会洗牌，按一定顺序切牌后依次发给下一桌玩家。\n玩法特点\n手牌牌型更加整齐。\n拿到炸弹的可能性更高。\n单局耗时更短，更刺激，更流畅！`,
        '天地癞子': `       天地癞子玩法在癞子玩法的基础上，在确定地主身份之前随机选择双王以外的一个点数作为“天癞子”，而在确定地主身份之后选择的癞子牌则被称为“地癞子”。\n因此，一副牌中共有8张癞子牌，炸弹牌型的长度也从4到8不等，牌局更多变，策略更丰富，对局更刺激！\n牌型规则\n王炸>八癞子炸>八软炸>>五癞子炸>五软炸>四纯癞子炸>四癞子炸>四硬炸>四软炸
王炸        大王小王    倍数x6
八软炸      888288888  倍数x6
七软炸      8882555    倍数x6
六软炸      888255     倍数x6
五软炸      88825      倍数x6
四软炸      8882       倍数x2
八癞子炸    222255555  倍数x6
七癞子炸    2222555    倍数x6
六癞子炸    222255     倍数x6
五癞子炸    22225      倍数x6
纯四癞子炸  2222       倍数x4
四癞子炸    2225       倍数x4`,
        '换三张': `     换三张牌型规则和经典玩法相同，但是再叫抢地主结束后，增加了【换牌要牌阶段】，再交换牌后，出牌规则和经典玩法一致。\n游戏流程
。叫抢确认地主后玩家提前知道随机交换手牌顺序
。每名玩家必须从手牌中选择三张出来进行交换
。选择完毕后按照既定顺序将手牌旋转到其他玩家面前
。所有玩家再交换来的牌中选择自己想要的牌（地主至少拿两张，农民至少拿一张)
。剩下没被选择的牌被弃掉公示
。游戏开始地主首出`,
        '组队2x2': `玩法说明\n4人一桌，每2人一个队伍。4名玩家共用两副牌，去掉3、4、5三个点数牌。系统随机确定一队先手出牌，另一队后手，后手一队2名玩家可各弃1张牌\n牌型规则
除经典玩法中的各种牌型外，还有以下类型的炸弹：
四炸<双王炸<五炸<六炸<三王炸<七炸<八炸<四王炸
四王炸 大王大王小王小王   倍数x4
三王炸 大王大王小王>大王小王小王 倍数x4
双王炸 大王大王>大王小王>小王小王
八炸   88888888 倍数x4
七炸   8888888  倍数x4
六炸   888888   倍数x4
五炸   88888    倍数x4
四炸   8888     倍数x2
结算规则
倍数初始为15，玩家每打出一个炸弹倍数发生相应变化。打出春天倍数×2。最先打完牌的玩家所在队伍获胜，队伍每人赢得金币=底分×倍数，失败方队伍每人扣减相同金币。
`,
        '自选牌': `自选牌玩法，是在经典玩法基础上，将发牌过程改为自己选择其中的 9 张牌。
游戏流程
· 初始每人随机发 8 张手牌，之后每轮公共区展示 9 张明牌， 3 个玩家一次拿一张，轮流拿完，一共三轮 27 张牌。全部拿完后，进入正常叫地主和出牌环节。
· 首叫地主：拿牌环节第一轮第 3 个拿牌的玩家，首叫地主。如果无人叫地主，则会翻开底牌重新叫一轮，随机首叫。如果还是无人叫地主，则随机一个玩家当地主。不重新发牌。`
    };
    static prentName: string = null;
    static openRules(prentname: string) {
        this.prentName = prentname;
        Main.ToggleUI("Rules");
    }
    exit() {
        Main.ToggleUI(Rules.prentName, this.node.name);
    }
    start() {
        const tog = new Util.Toggle(this.LeftBtn);
        tog.onTag(suc => {
            this.Centent.string = this.LabelText[suc];
        });
    }
}

